home *** CD-ROM | disk | FTP | other *** search
/ Suzy B Software 2 / Suzy B Software CD-ROM 2 (1994).iso / extras / programm / gemfsc20 / gemfsc20.lzh / EXAMPLES / BROWSE / DLLUTIL.H < prev    next >
C/C++ Source or Header  |  1992-01-24  |  2KB  |  67 lines

  1. #ifndef DLLUTIL_H
  2. #define DLLUTIL_H
  3.  
  4. #ifdef DLLUTIL_INTERNALS
  5.  
  6.   typedef struct dl_header {
  7.       struct dl_header *next;
  8.       struct dl_header *prev;
  9.   } DllHeader;
  10.  
  11.   typedef struct dl_list {
  12.       struct dl_header *head;
  13.       struct dl_header *tail;
  14.       struct dl_header *cur;
  15.   } DlList;
  16.  
  17. #else
  18.  
  19.   typedef struct dl_header {
  20.       void *next;
  21.       void *prev;
  22.   } DllHeader;
  23.  
  24.   typedef struct dl_list {
  25.       void *head;
  26.       void *tail;
  27.       void *cur;
  28.   } DlList;
  29.  
  30. #endif
  31.  
  32. #if __STDC__
  33.   #ifdef DLLUTIL_INTERNALS
  34.     extern void *dl_insert(DlList *list,  DllHeader *afteritem, DllHeader *newitem);
  35.     extern void *dl_addhead(DlList *list, DllHeader *item);
  36.     extern void *dl_addtail(DlList *list, DllHeader *item);
  37.     extern void  dl_remove(DlList *list,  DllHeader *item);
  38.     extern void  dl_freelist(DlList *list, void (*freefunc)(DlList *, void *));
  39.     extern int     dl_seek(DlList *list, long count, int whence);
  40.     extern long  dl_tell(DlList *list);
  41.   #else
  42.     extern void *dl_insert(void *list,    void *afteritem, void *newitem);
  43.     extern void *dl_addhead(void *list, void *item);
  44.     extern void *dl_addtail(void *list, void *item);
  45.     extern void  dl_remove(void *list,    void *item);
  46.     extern void  dl_freelist(void *list, void (*freefunc)());
  47.     extern int     dl_seek(void *list, long count, int whence);
  48.     extern long  dl_tell(void *list);
  49.   #endif
  50. #else
  51.   extern void *dl_insert();
  52.   extern void *dl_addhead();
  53.   extern void *dl_addtail();
  54.   extern void  dl_remove();
  55.   extern void  dl_freelist();
  56.   extern int   dl_seek();
  57.   extern long  dl_tell();
  58. #endif
  59.  
  60. #ifndef SEEK_SET
  61.   #define SEEK_SET 0
  62.   #define SEEK_CUR 1
  63.   #define SEEK_END 2
  64. #endif
  65.  
  66. #endif
  67.